#pragma once

#define DataType int

#include <iostream>
#include <string>
#include <assert.h>

using namespace std;

class List
{
public:
    List* prev;
    List* next;
    DataType data;
};

//链表初始化
List* ListInit();

//销毁链表
void DeleteList(List* phead);

//创建一个链表节点
List* BuyListNode(DataType x);

//查找
List* FindNode(List* phead, DataType x);

//在某个位置前插入一个数据
void ListInsert(List* pos, DataType x);

//删除某个位置的一个数据
void ListErase(List* pos);

//尾插
void ListPushBack(List* phead, DataType x);

//尾删
void ListPopBack(List* phead);

//头插
void ListPushFront(List* phead, DataType x);

//头删
void ListPopFront(List* phead);




